package src.itheima05;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/*
    java.util.Properties集合 成员方法:
        1.public void load(InputStream in)
            参数:
                InputStream in: 字节输入流的抽象方法,传递子类FileInputStream对象
            作用: 把子类FileInputStream对象关联的源文件中的内容,以键值对的方式,加载到Properties集合中

        2.public void load(Reader r)
            参数:
                Reader r: 字符输入流的抽象方法,传递子类FileReader对象
            作用: 把子类FileReader对象关联的源文件中的内容,以键值对的方式,加载到Properties集合中

     步骤:
        1.创建FileInputStream类/FileReader类的对象,绑定源文件
        2.创建Properties集合对象props
        3.Properties集合对象props调用load方法,传递FileInputStream类/FileReader类的对象,
            会把流对象中的内容,以键值对的方式,加载到Properties集合对象中
        4.遍历Properties集合对象

    注意问题:
        1.Properties集合加载的文件,建议扩展名写 .properties
        2..properties文件中的内容,一个键值对占用一行 格式  键=值
        3.用#可以注释掉.properties文件中的内容



 */
public class Demo02PropertiesLoad {
    public static void main(String[] args) throws IOException {
        //1.创建FileInputStream类的对象,绑定源文件
        FileInputStream fis = new FileInputStream("day11\\config.properties");

        //2.创建Properties集合对象props
        Properties props = new Properties();

        //3.Properties集合对象props调用load方法,传递FileInputStream类/FileReader类的对象,
        //会把流对象中的内容,以键值对的方式,加载到Properties集合对象中
        props.load(fis);

        //4.遍历Properties集合对象
        Set<String> names = props.stringPropertyNames();
        //增强for: 遍历
        for (String name : names) {
            String value = props.getProperty(name);
            System.out.println(name+"::::"+value);
        }
    }
}
